perm filename NUMER.POX[POX,WD]1 blob sn#363253 filedate 1978-06-18 generic text, type T, neo UTF8
\|\\;				Define Brick Character
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\;
\8EVAL(STRING)[⊗STRING⊗]\;
\8OMIT(STRING)[]\;
\8SETOM(REG)[\P\←=1;\→⊗REG⊗\p]\;	set REG to one
\8SETZM(REG)[\P\←=0;\→⊗REG⊗\p]\;	set REG to zero
\8LOADAC(VAR)[\!EVAL((\←=)\!⊗VAR⊗;(;));]\;	load ac with var
\∞TRACEAC[\!EVAL((\m{)(ac=)\D∀( )(}));]\;	trace ac
\;
\8TRACEVAR(VAR)[\N		trace variable
\	;\P\N				save ac
\	;\!LOADAC(⊗VAR⊗);\N		put var in ac
\	;\!EVAL((\m{)⊗VAR⊗(=)\D∀( )(}));\N
\	;\N				type trace
\	;\p]\;				restore ac
\;
\8INCR(VAR)[\N			increment variable
\	;\P\N				save ac
\	;\!LOADAC(⊗VAR⊗);\N		load ac with var
\	;\!EVAL((\∂←)⊗VAR⊗(;));\N	expunge old var def
\	;\+=1;\N			add 1 to ac
\	;\!EVAL((\∞)⊗VAR⊗([)\D∀(]));\N
\	;\N				redefine var
\	;\p]\;				restore ac
\;
\8COMPAC(ARG)[\N		complement ac
\	;\!EVAL(⊗ARG⊗);\N		evaluate argument
\	;\Q0\N				save reg 0
\	;\!SETOM(0);\N			put a 1 in reg 0
\	;\?SETZM(0);\N			if ac > 0 set reg 0 to 0
\	;\←0\N				load ac from reg 0
\	;\q0]\;				restore reg 0
\;
\∞ISACZERO[\N			is ac zero
\	;\Q0\N				save reg 0
\	;\→0\N				store ac in 0
\	;\*0\N				mult ac by reg 0
\	;\!COMPAC;\N			complement ac
\	;\q0]\;				restore reg 0
\;
\∞ISACEVEN[\%=2;\¬=1;]\N
\;
\∞ISACODD[\%=2;]\N
\;